package com.qfjy.controller.example4;


import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * #TODO 扫码支付：当不同用户请求同一个二维码时，根据用户的扫描方式（微信/支付宝）转发执行相应的服务器
 */
@RequestMapping("scan")
@Controller
@Slf4j
public class ScanController {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    /**
     * #TODO
     */
    @GetMapping("info")
    @ResponseBody
    public String info(HttpServletRequest request){

        //来源（微信、支付宝、其它扫的）
       String flag=request.getParameter("flag");
        String balance=request.getParameter("balance");

        //相应的业务逻辑处理的提示
        log.info("用户进行扫码支付---》{},{}",flag,balance);
        /**
         *  if(flag=="weixin")
         *     走微信服务器处理
         *   else if(flag="zhifubao")
         *      走支付宝服务器...
         *   else...
         *      MQ解决：
         *      String exchange, String routingKey, Object object
         */
        rabbitTemplate.convertAndSend("scanDirectExchange",flag,balance);


        return "用户扫码支付成功"+flag+"-->"+balance;
    }
}
